python battleship object oriented programming